package main

import "fmt"

func add(x int, y int) int {
	//func add (x, y int)
	//当连续两个或多个函数的已命名形参类型相同时，除最后一个类型外，其他都可以省略
	return x + y
}

func swap(x, y string) (string, string){
	return y, x
}

/*
go的返回值可被命名，他们会被视为定义在函数顶部的变量
返回值的名称应当具有唯一的意义
没有参数的return语句返回已命名的返回值，也就是直接返回。
直接返回语句应当仅用在短函数中，在长函数中会影响代码的可读性
*/
func split(sum int) (x, y int){
	x = sum * 4 / 9
	y = sum - x
	return
}

func main(){
	// fmt.Println(add(30, 15))
	
	//=是赋值   :=是声明变量并赋值
	// a, b := swap("hello","world")
	// fmt.Println(a, b)

	fmt.Println(split(17))
}